package 高频题;

public class 删除排序数组中的重复项_26 {
    public int removeDuplicates(int[] nums) {
        int n = nums.length;
        if (n == 0) {
            return 0;
        }
        //快指针速度和慢指针一样，但是恒定大于慢指针一个元素的位置。
        int slow = 0;
        int fast = 1;
        while (fast < n) {
            //遍历完后nums[0..slow]就是无重复的元素了

            //只把不重复的元素赋给nums[slow]
            if (nums[fast] != nums[slow]) {
                slow++;
                nums[slow] = nums[fast];
            }
            fast++;
        }

        //长度 比下标大1
        return slow + 1;
    }
}
